1. Field of the Invention
The present invention relates to a PCI-PCI bridge between a primary PCI bus and a secondary PCI bus. More specifically, the present invention relates to a PCI-PCI bridge supported by an existing BIOS and allowing controlling of a plurality of PCI agents including a VGA device through the primary PCI.
2. Description of the Background Art
A PCI (Peripheral Component Interconnect) bus comes to be generally adopted especially for personal computers. PCI is a bus standard advocated by Intel Corporation, of which specification is determined and published by PCI Special Interest Group (PCI SIG) of the United States.
According to PCI bus standard, a device participating in PCI data transfer is referred to as an "agent." According to PCI standard, agents are controlled by BIOS executed by a CPU, by a device driver and so on. PCI bus standard provides automatic configuration capability of automatically sensing a device connected to the bus at the time of power on and preparing system environment such as memory mapping for each system.
Recently, as personal computers come to have ever improved performance, it comes to be a common practice to execute, by a personal computer, image processing programs and the like which have conventionally been executed by a workstation. For this purpose, an LSI (semiconductor integrated circuit) for performing such a specific processing is often connected to a host CPU through a PCI bus in the personal computer. Implementation of a plurality of PCI devices in the integrated circuit is desirable in some cases. At that time, it is necessary to interface the PCI bus of the host with a PCI bus of an added device. Here, the PCI bus in the host CPU is referred to as a primary PCI bus, and the PCI bus of a circuit (add-in board) connected to the primary PCI bus is referred to as a secondary PCI bus.
If a secondary PCI bus is connected to the primary PCI bus and a plurality of PCI agents are connected to the secondary PCI bus, it is necessary for the host to control each PCI independent from each other. For this purpose, PCI standard employs data referred to as PCI configuration header. The header includes two types, that is, type "00" and type "01". Type "00" header is recognized by the host CPU as one PCI agent, and type "01" header is prepared for the PCI-PCI bridge.
The PCI-PCI bridge of type "01", however, suffers from various problems. For example, it can support limited BIOS only, it is difficult to support DMA (Direct Memory Access) function, and it is difficult to incorporate LSI core in a device having the secondary PCI bus. Accordingly, use of type "01" header is rather disadvantageous when various circuits for image processing are incorporated in one semiconductor integrated circuit device, one of which is a PCI agent. Data transfer through the primary and secondary PCI buses need be stable and at high speed. Here, generally, the secondary bus is faster than the primary bus. Accordingly, an FIFO (First In First Out memory) is used for the data transfer. If there should be a specification change, however, FIFO design must also be changed, resulting in longer time period necessary for the overall design.
Further, it is advantageous to ensure compatibility with an existing VGA device so that any trouble or accident at the time of boot-up may be displayed on the VGA device. Though it is possible to display an error message at the time of boot-up using the add-in board for the graphic processing mentioned above, such processing is complicated as compared with the process using the existing VGA device. Therefore, it is preferable that components including the VGA device are connected to the secondary PCI bus and that the components are switched as needed. Such approach, however, has been difficult for the PCI-PCI bridge of type "01" header.